<?php
class TUtilidades{
	public static function eliminarJuntaDirectiva($codigoEmpresa, $cedula){
		$asoc= TbRepJunta::model()->findByAttributes(array('juntadirectiva_cedula'=>$cedula,'empresas_codigo'=>$codigoEmpresa));
		$asoc->delete();
		$sobrantes = TbRepJunta::model()->findByAttributes(array('juntadirectiva_cedula'=>$cedula));
		return ($sobrantes==NULL?false:true);
	}
	public static function verificarExistenciaJunta($codigoEmpresa, $cedula){
		$asoc= TbRepJunta::model()->findByAttributes(array('juntadirectiva_cedula'=>$cedula,'empresas_codigo'=>$codigoEmpresa));
		return ($asoc==NULL?false:true);
	}
	public static function verificarExistenciaMiembroJunta($cedula){
		$miembro = TbJuntaDirectiva::model()->findByPk($cedula);
		return ($miembro==NULL?false:true);
	}
	public static function guardarMiembroJunta($cedula, $codigoEmpresa){
		$rep_junta = new TbRepJunta();
		$rep_junta->empresas_codigo = $codigoEmpresa;
		$rep_junta->juntadirectiva_cedula = $cedula;
		$rep_junta->save();
	}
	public static function actualizarRegistro($idre, $codig){
		//$empre = new TEmpresas();
		$empre = TEmpresas::model()->findByPk($codig);
		$empre->datosregistro_id = $idre;
		$empre->save();
	}
	public static function obtenerRoles(){
		return (CHtml::listData(TRoles::model()->findAll(),'idroles','descripcion'));
	}
	public static function obtenerTiposDocumentos(){
		return (CHtml::listData(TTipodocumentos::model()->findAll(),'idtipodocumentos','descripcion'));
	}
	public static function obtenerEstado(){
		return (array('0'=>'Inactivo','1'=>'Activo'));
	}
	public static function obtenerConexion(){
		return (array('0'=>'Desconectado','1'=>'Conectado'));
	}
	public static function obtenerUsuarios(){
		return (CHtml::listData(TUsuarios::model()->findAll(),'login','nombre'));
	}
	public static function horaActual(){
		$hora = Yii::app()->db->createCommand('SELECT curtime()')->queryScalar();
		return $hora;
	}
	public static function fechaActual(){
		$fecha = Yii::app()->db->createCommand('SELECT curdate()')->queryScalar();
		return $fecha;
	}
	public static function AcomodarFormatoFecha($fechaActual){
		$nuevaFecha = explode("-",$fechaActual);
		return $nuevaFecha[2]."/".$nuevaFecha[1]."/".$nuevaFecha[0];
	}
	public static function ipUsuario(){
		$ip = Yii::app()->request->userHostAddress;
		return $ip;
	}
	public static function generarLogueo(){
		$usuario = Yii::app()->user->name;
		$fecha = TUtilidades::fechaActual();
		$hora = TUtilidades::horaActual();
		$desc = "Inicio Sesion";
		$ip = TUtilidades::ipUsuario();
		TUtilidades::entradaBitacora($usuario,$fecha,$hora,$desc,$ip);
		$usu = TUsuarios::model()->findByPk($usuario);
		$usu->conectado=1;
		$usu->save();
	}
	public static function generarDesLogueo(){
		$usuario = Yii::app()->user->name;
		$fecha = TUtilidades::fechaActual();
		$hora = TUtilidades::horaActual();
		$desc = "Cerro Sesion";
		$ip = TUtilidades::ipUsuario();
		TUtilidades::entradaBitacora($usuario,$fecha,$hora,$desc,$ip);
		$usu = TUsuarios::model()->findByPk($usuario);
		$usu->conectado=0;
		$usu->save();
	}
	public static function entradaBitacora2($des){
		$bita = new TBitacora();
		$bita->descripcion = $des;
		$bita->fecha = TUtilidades::fechaActual();
		$bita->hora = TUtilidades::horaActual();
		$bita->ip = TUtilidades::ipUsuario();
		$bita->usuarios_login =  Yii::app()->user->name;
		if (!$bita->save()){
			TUtilidades::generarError(409,"Error al momento de generar una nueva entrada en la bitacora.");
		}
	}
	public static function entradaBitacora($usu, $fecha, $hora, $des, $ip){
		$bita = new TBitacora();
		$bita->usuarios_login=$usu;
		$bita->fecha = $fecha;
		$bita->hora = $hora;
		$bita->descripcion = $des;
		$bita->ip = $ip;
		if (!$bita->save()){
			TUtilidades::generarError(409,"Error al momento de generar una nueva entrada en la bitacora.");
		}
	}
	public static function generarError($codigo, $error){
			throw new CHttpException($codigo,$error);
	}
	public static function cambiarMensajeMostrado($id){
		$mensaje = TMensajes::model()->findByPk($id);
		if ($mensaje->leido==0){
			$mensaje->leido = 1;
			$mensaje->save();
		}
	}
	public static function cambiarMensajePropioMostrado($id){
		$mensaje = TMensajesPropios::model()->findByPk($id);
		if ($mensaje->leido==0){
			$mensaje->leido = 1;
			$mensaje->save();
		}
	}
	public static function obtenerNombreUsuario($login){
		$usua  = TUsuarios::model()->findByPk($login);
		return $usua->nombre;
	}
	public static function obtenerAsistentes(){
		$asis = TRoles::model()->findByAttributes(array('descripcion'=>'Asistente'));
		return CHtml::listData(TUsuarios::model()->findAllByAttributes(array('roles_id'=>$asis->idroles)),'login','nombre');
	}
	public static function obtenerTipoCompania(){
		return array('Ordinario'=>'Ordinario','Especial'=>'Especial');	
	}
	public static function obtenerTodosCodigos(){
		return CHtml::listData(TEmpresas::model()->findAll(),'codigo','nombrecomercial');
	}
}